/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo.regresion;

import java.util.ArrayList;
import java.util.List;
import modelo.Tablespace;
import modelo.regresion.TableSpaceRegresion;

/**
 *
 * @author Luis
 */
public class RegresionLineal {

    private List<TableSpaceRegresion> list;

    public RegresionLineal() {
        list = new ArrayList<>();
    }

    public void calcula() {
    }

    public void agrega(String nom_tableSpace, String table, float x, int y) {
        if (tablespaceExiste(nom_tableSpace)) {
            list.add(new TableSpaceRegresion(nom_tableSpace));
        }
        if (getTableSpaceRegresion(nom_tableSpace).getTablaRegresion(table) == null) {
            getTableSpaceRegresion(nom_tableSpace).agrega_nombre_tabla(table);
        }
        getTableSpaceRegresion(nom_tableSpace).addPeso(table, x);
        getTableSpaceRegresion(nom_tableSpace).addIndividuos(table, y);
    }

    public void setEspacios(String nom_tablespace, float libre, float usado) {
        if (getTableSpaceRegresion(nom_tablespace) != null) {
        getTableSpaceRegresion(nom_tablespace).setLibreMb(libre);
        getTableSpaceRegresion(nom_tablespace).setUsadoMb(usado);            
        }

    }

    public TableSpaceRegresion getTableSpaceRegresion(String nombre) {
        for (TableSpaceRegresion tb : list) {
            if (tb.getNombre().equals(nombre)) {
                return tb;
            }
        }
        return null;
    }

    public Float getPronostico(String nombre) {
        Float pron = getTableSpaceRegresion(nombre).pronostico();
        return pron;
    }
    
    public Float getPorcUsado(String tablespace) {
        for (TableSpaceRegresion ts:list){
            if(ts.getNombre().equals(tablespace)){
                return ts.getUsadoMb();
            }
        }
        return null;
    }

    public List<String> getNombreTablespaces() {
        ArrayList<String> tables = new ArrayList<>();
        for (TableSpaceRegresion tb : list) {
            tables.add(tb.getNombre());
            System.out.println(tb.getNombre());
        }
        return tables;

    }

    public List<TableSpaceRegresion> getList() {
        return list;
    }

    public boolean tablespaceExiste(String nombre) {
        for (TableSpaceRegresion tb : list) {
            if (tb.getNombre().equals(nombre)) {
                return false;
            }
        }
        return true;
    }
}
